// Generator的入口文件
// 需要导出一个继承自Yeoman Generator的类型
const Generator = require('yeoman-generator')
const templates = require('./templates')
module.exports = class extends Generator {
    prompting() {
        // Yeoman在询问环节会自动调用此方法
        // 可以使用父类的prompt()方法,返回的是promise
        return this.prompt([{
            type: 'input',
            name: 'projectName',
            message: 'Your project name:',
            default: this.appname
        }]).then(answers => {
            this.answers = answers
        })
    }
    writing() {
        // yeoman在自动生成文件阶段会自动执行writing方法
        // 采坑：templates拼写错误，这边只能用templates,不然报错Unexpected identifier

        templates.forEach(item => {
            this.fs.copyTpl(this.templatePath(item), this.destinationPath(item), this.answers)
        })
    }
}